home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 52
/
Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso
/
Aminet
/
game
/
patch
/
WHDIGamesC-D.lzh
/
Crackdown.lha
/
CrackdownHD
/
Install
< prev
next >
Wrap
Text File
|
2002-05-04
|
8KB
|
278 lines
;****************************
(set #sub-dir "") ;sub directory containing data files
(set #readme-file "ReadMe") ;name of readme file
(set #man-file "Instructions") ;name of manual file
(set #hint-file "Hints") ;name of hint file
(set #sol-file "Solution") ;name of solution file
(set #highs-file "highs") ;name of high scores file
(set #last-file "Disk.1") ;last file the imager should create
(set #prefix @app-name) ;name of slave, directory
;****************************
;----------------------------
; checks if given program is installed, if not abort install
; #program - to check
(procedure P_ChkRun
(if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
("")
(abort
(cat
"You must install \"" #program "\" first!\n"
"It must be accessible via the path.\n"
"You can find it in the WHDLoad package."
)
)
)
)
;----------------------------
; copy file including icon if exist
; #copy-file - name of file to copy
(procedure P_CopyFile
(if (exists #copy-file) (
(copyfiles
(help @copyfiles-help)
(source #copy-file)
(dest #dest)
)
(if (exists ("%s.info" #copy-file)) (
(copyfiles
(help @copyfiles-help)
(source ("%s.info" #copy-file))
(dest #dest)
)
(tooltype
(dest (tackon #dest #copy-file))
(noposition)
)
))
))
)
;****************************
(if (< @installer-version (+ (* 44 65536) 10))
(
(message
(cat
"Warning: your installer is outdated.\n"
"Some features of this installation won't be available, "
"such as icon show and drawer opening. "
"You have version " (/ @installer-version 65536) "."
(BITAND @installer-version 65535) ", recommended is version 44.10. "
"The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
"You may also use the InstallerNG by Jens Tröger."
"\n\n"
"The installers can be obtained from the net:\n"
"http://www.amiga.com/3.9/download/NDK3.9.lha\n"
"aminet:util/sys/InstallerNG.lha"
)
)
(set #newstuff 0)
)
(set #newstuff 1)
)
(if (exists #readme-file)
(if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
("")
(run ("SYS:Utilities/More %s" #readme-file))
)
)
(set #program "WHDLoad")
(P_ChkRun)
(set #program "RawDIC")
(P_ChkRun)
(if (= @user-level 2)
(
(set #CI_drive
(askchoice
(prompt "Select source drive for diskimages")
(default 0)
(choices "DF0:" "DF1:" "DF2:" "DF3:")
(help @askchoice-help)
)
)
(select #CI_drive
(set #CI_drive "DF0:")
(set #CI_drive "DF1:")
(set #CI_drive "DF2:")
(set #CI_drive "DF3:")
)
(set #ignore " IGNOREERRORS")
)
(set #CI_drive "DF0:")
(set #ignore "")
)
(if (getenv "WHDLInstPath")
(set @default-dest (getenv "WHDLInstPath"))
)
(set #dest
(askdir
(prompt
(cat
"Where should \"" @app-name "\" be installed?\n"
"A drawer \"" #prefix "\" will be automatically created."
)
)
(help @askdir-help)
(default @default-dest)
)
)
(run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
(set #dest (tackon #dest #prefix))
(if (exists #dest) (
(set #choice
(askbool
(prompt
(cat
"\nDirectory \"" #dest "\" already exists.\n"
"Should it be deleted?"
)
)
(default 1)
(choices "Delete" "Skip")
(help @askbool-help)
)
)
(if (= #choice 1)
(delete #dest
(help @delete-help)
(all)
)
)
))
(makedir #dest
(help @makedir-help)
(infos)
)
;----------------------------
(copyfiles
(help @copyfiles-help)
(source ("%s.Slave" #prefix))
(dest #dest)
)
(copyfiles
(help @copyfiles-help)
(source ("%s.bin" #prefix))
(dest #dest)
)
(if (exists ("%s.glowexot" #prefix)) ((set #icon 7)(set #icnt (+ 1 #icnt))(set #icon-gex "Exotic GlowIcon")) (set #icon-gex ""))
(if (exists ("%s.newexot" #prefix)) ((set #icon 6)(set #icnt (+ 1 #icnt))(set #icon-nex "Exotic NewIcon")) (set #icon-nex ""))
(if (exists ("%s.exoticon" #prefix)) ((set #icon 5)(set #icnt (+ 1 #icnt))(set #icon-exo "Exoticon")) (set #icon-exo ""))
(if (exists ("%s.glowicon" #prefix)) ((set #icon 4)(set #icnt (+ 1 #icnt))(set #icon-glo "Glow Icon")) (set #icon-glo ""))
(if (exists ("%s.coloricon" #prefix)) ((set #icon 3)(set #icnt (+ 1 #icnt))(set #icon-col "OS3.5 Icon")) (set #icon-col ""))
(if (exists ("%s.newicon" #prefix)) ((set #icon 2)(set #icnt (+ 1 #icnt))(set #icon-new "NewIcon")) (set #icon-new ""))
(if (exists ("%s.romicon" #prefix)) ((set #icon 1)(set #icnt (+ 1 #icnt))(set #icon-rom "RomIcon")) (set #icon-rom ""))
(if (exists ("%s.inf" #prefix)) ((set #icon 0)(set #icnt (+ 1 #icnt))(set #icon-nor "Normal")) (set #icon-nor ""))
(procedure P_Icon
(copyfiles
(help @copyfiles-help)
(source ("%s.%s" #prefix #icon-suf))
(newname ("%s.info" #icon-name))
(dest #icon-dir)
)
(tooltype
(dest (tackon #icon-dir #icon-name))
(noposition)
)
)
(if (> #icnt 1) (
(if (= #newstuff 1) (
(set #icon-dir ("T:%s Icons" #prefix))
(makedir #icon-dir
(help @makedir-help)
)
(if #icon-nor ((set #icon-suf "inf") (set #icon-name "Normal") (P_Icon)))
(if #icon-rom ((set #icon-suf "romicon") (set #icon-name "RomIcon") (P_Icon)))
(if #icon-new ((set #icon-suf "newicon") (set #icon-name "NewIcon") (P_Icon)))
(if #icon-col ((set #icon-suf "coloricon")(set #icon-name "OS3.5 Icon") (P_Icon)))
(if #icon-glo ((set #icon-suf "glowicon") (set #icon-name "Glow Icon") (P_Icon)))
(if #icon-exo ((set #icon-suf "exoticon") (set #icon-name "Exoticon") (P_Icon)))
(if #icon-nex ((set #icon-suf "newexot") (set #icon-name "Exotic NewIcon") (P_Icon)))
(if #icon-gex ((set #icon-suf "glowexot") (set #icon-name "Exotic GlowIcon") (P_Icon)))
(openwbobject #icon-dir)
))
(set #icon
(askchoice
(prompt "\nWhich icon would you like to install?\n")
(choices #icon-nor #icon-rom #icon-new #icon-col #icon-glo #icon-exo #icon-nex #icon-gex)
(default #icon)
(help @askchoice-help)
)
)
(if (= #newstuff 1) (
(closewbobject #icon-dir)
(delete #icon-dir
(help @delete-help)
(all)
)
))
))
(select #icon
(set #icon "inf")
(set #icon "romicon")
(set #icon "newicon")
(set #icon "coloricon")
(set #icon "glowicon")
(set #icon "exoticon")
(set #icon "newexot")
(set #icon "glowexot")
)
(copyfiles
(help @copyfiles-help)
(source ("%s.%s" #prefix #icon))
(newname ("%s.info" #prefix))
(dest #dest)
)
(tooltype
(dest (tackon #dest #prefix))
(setdefaulttool "WHDLoad")
(setstack 10240)
(noposition)
)
(set #copy-file #readme-file)
(P_CopyFile)
(set #copy-file #man-file)
(P_CopyFile)
(set #copy-file #hint-file)
(P_CopyFile)
(set #copy-file #sol-file)
(P_CopyFile)
(set #dest-org #dest)
(if (= #sub-dir "")
("")
(
(set #dest (tackon #dest #sub-dir))
(makedir #dest
(help @makedir-help)
)
)
)
(set #copy-file #highs-file)
(P_CopyFile)
(copyfiles
(help @copyfiles-help)
(source ("%s.islave" #prefix))
(dest #dest)
)
(working "calling RawDIC...")
(run ("CD \"%s\"\nRawDIC SLAVE=%s.islave SOURCE=%s%s\nDelete %s.islave" #dest #prefix #CI_drive #ignore #prefix))
(if (exists (tackon #dest #last-file))
("")
(abort "Diskimaging was not successful!\nRawDIC was unable to create all needed files!")
)
(if (= #newstuff 1)
(openwbobject #dest-org)
)
(exit)